package net.hn.hnms.biz.plan.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 洗选计划执行信息
 *
 * @author ly
 * @since 1.0.0 2022-08-16
 */
@Data
@ApiModel("洗选计划执行信息")
public class ExecutionWashingReq extends BaseReq {

    /**
     * 主键ID
     */
    @ApiModelProperty(value = "id")
    private String washingExecutionId;

    /**
     * 矿编码
     */
    @ApiModelProperty(value = "煤矿编号")
    private String mineCode;

    /**
     * 班次ID
     */
    @ApiModelProperty(value = "班次ID")
    private String shiftId;

    /**
     * 日期
     */
    @NotNull(message = "请选择日期")
    @JsonFormat(
            pattern = "yyyy-MM-dd",
            timezone = "GMT+8"
    )
    @ApiModelProperty(value = "日期")
    private Date executionDate;

    /**
     * 洗选量(t)
     */
    @ApiModelProperty(value = "洗选量(t)")
    @Digits(integer = 9, fraction = 2, message = "洗选量格式不正确")
    @DecimalMin(value = "0.00", message = "洗选量格式不正确")
    private BigDecimal washingAmount;

    /**
     * 矸石量(t)
     */
    @ApiModelProperty(value = "矸石量(t)")
    @Digits(integer = 9, fraction = 2, message = "矸石量格式不正确")
    @DecimalMin(value = "0.00", message = "矸石量格式不正确")
    private BigDecimal shaleAmount;

    /**
     * 商品煤量(t)
     */
    @ApiModelProperty(value = "商品煤量(t)")
    @Digits(integer = 9, fraction = 2, message = "商品煤量格式不正确")
    @DecimalMin(value = "0.00", message = "商品煤量格式不正确")
    private BigDecimal coalAmount;



    @ApiModelProperty(value = "自用煤量(t)")
    @Digits(integer = 9, fraction = 2, message = "自用煤量格式不正确")
    @DecimalMin(value = "0.00", message = "自用煤量格式不正确")
    private BigDecimal backCoal;
    @ApiModelProperty(value = "煤泥量(t)")
    @Digits(integer = 9, fraction = 2, message = "煤泥量格式不正确")
    @DecimalMin(value = "0.00", message = "煤泥量格式不正确")
    private BigDecimal coalSlime;
    @ApiModelProperty(value = "内销煤量(t)")
    @Digits(integer = 9, fraction = 2, message = "内销煤量格式不正确")
    @DecimalMin(value = "0.00", message = "内销煤量格式不正确")
    private BigDecimal innerSell;
    @ApiModelProperty(value = "外销煤量(t)")
    @Digits(integer = 9, fraction = 2, message = "外销煤量格式不正确")
    @DecimalMin(value = "0.00", message = "外销煤量格式不正确")
    private BigDecimal outerSell;




    @ApiModelProperty(value = "公司编号")
    private String companyCode;


    @ApiModelProperty(value = "煤矿名称")
    private String mineName;

    @ApiModelProperty(value = "公司名称")
    private String companyName;

}
